package cn.foolishbird.hamal.frame.base;


import cn.foolishbird.hamal.frame.exception.base.BaseException;
import cn.foolishbird.hamal.frame.queryParam.QueryCondition;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;

/**
 * @author Eric
 * @since 2019-05-06
 */
public interface CustomService<T> extends IService<T> {

    /**
     * 详情查询
     *
     * @param id
     * @return T
     * @throws
     * @author Eric
     * @date 2020/3/11
     **/
    T managerDetail(Long id);

    /**
     * 后台管理批量查询
     *
     * @param condition
     * @return com.baomidou.mybatisplus.core.metadata.IPage<T>
     * @throws
     * @author Eric
     * @date 2020/3/11
     **/
    IPage<T> managerPage(QueryCondition condition);

    /**
     * 添加
     *
     * @param data
     * @return T
     * @throws
     * @author Eric
     * @date 2020/3/11
     **/
    T managerAdd(T data);

    /**
     * 修改
     *
     * @param data
     * @return T
     * @throws
     * @author Eric
     * @date 2020/3/11
     **/
    T managerUpdate(T data);

    /**
     * 删除接口
     *
     * @param ids
     * @return java.lang.Boolean
     * @throws
     * @author Eric
     * @date 2020/3/11
     **/
    Boolean managerDelete(Long[] ids);

    /**
     * 关联表，转成成对应信息，方便后台显示
     * 比如：把 userId   转换成   用户手机，用户昵称    18988912222,你的小可爱
     * @author Eric
     * @date 2020/10/15
     * @param id
     * @return java.lang.String
     * @throws
     **/
    String joinConvert(Long id);

}
